<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta content="Cask Data, Inc." name="author" />
<meta content="Copyright © 2015-2017 Cask Data, Inc." name="copyright" />


    <meta name="git_release" content="6.1.1">
    <meta name="git_hash" content="05fbac36f9f7aadeb44f5728cea35136dbc243e5">
    <meta name="git_timestamp" content="2020-02-09 08:22:47 +0800">
    <title>CDAP JDBC Driver</title>

    <link rel="stylesheet" href="_static/cdap-bootstrap.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="_static/bootstrap-3.3.6/css/bootstrap.min.css" type="text/css" />
    <link rel="stylesheet" href="_static/bootstrap-3.3.6/css/bootstrap-theme.min.css" type="text/css" />
    <link rel="stylesheet" href="_static/css/bootstrap-sphinx.css" type="text/css" />
    <link rel="stylesheet" href="_static/css/cdap-dynamicscrollspy-4.css" type="text/css" />
    <link rel="stylesheet" href="_static/css/jquery.mCustomScrollbar.css" type="text/css" />
    <link rel="stylesheet" href="_static/css/cdap-jquery.mCustomScrollbar.css" type="text/css" />
    <link rel="stylesheet" href="_static/css/abixTreeList-2.css" type="text/css" />
    <link rel="stylesheet" href="_static/cdap-bootstrap.css" type="text/css" />

    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '',
        VERSION:     '6.1.1',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  false
      };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <script type="text/javascript" src="_static/language_data.js"></script>

    <link rel="shortcut icon" href="_static/favicon.ico"/>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="top" title="Cask Data Application Platform 6.1.1 Documentation" href="index.html" />
    <link rel="next" title="CDAP ODBC Driver" href="odbc.html" />
    <link rel="prev" title="Apache Hadoop Key Management Server (KMS)" href="hadoop-kms.html" />
    <!-- block extrahead -->
    <meta charset='utf-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
    <meta name="apple-mobile-web-app-capable" content="yes">
    <!-- block extrahead end -->

</head>
<body role="document">

<!-- block navbar -->
<div id="navbar" class="navbar navbar-inverse navbar-default navbar-fixed-top">
    <div class="container-fluid">
      <div class="row">
        <div class="navbar-header">
          <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
          <a class="navbar-brand" href="table-of-contents/../../index.html">
            <span><img alt="CDAP logo" src="_static/cdap_logo.svg"/></span>
          </a>

          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>

          <div class="pull-right">
            <div class="dropdown version-dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown"
                role="button" aria-haspopup="true" aria-expanded="false">
                v 6.1.1 <span class="caret"></span>
              </a>
              <ul class="dropdown-menu">
                <li><a href="//docs.cdap.io/cdap/5.1.2/en/index.html">v 5.1.2</a></li>
                <li><a href="//docs.cdap.io/cdap/4.3.4/en/index.html">v 4.3.4</a></li>
              </ul>
            </div>
          </div>
          <form class="navbar-form navbar-right navbar-search" action="search.html" method="get">
            <div class="form-group">
              <div class="navbar-search-image material-icons"></div>
              <input type="text" name="q" class="form-control" placeholder="  Search" />
            </div>
            <input type="hidden" name="check_keywords" value="yes" />
            <input type="hidden" name="area" value="default" />
          </form>

          <div class="collapse navbar-collapse nav-collapse navbar-right navbar-navigation">
            <ul class="nav navbar-nav"><li class="docsite-nav-tab-container"><a class="docsite-nav-tab-link " href="table-of-contents/../../index.html">简介</a></li><li class="docsite-nav-tab-container"><a class="docsite-nav-tab-link current" href="table-of-contents/../../guides.html">手册</a></li><li class="docsite-nav-tab-container"><a class="docsite-nav-tab-link " href="table-of-contents/../../reference-manual/index.html">参考</a></li><li class="docsite-nav-tab-container"><a class="docsite-nav-tab-link " href="table-of-contents/../../faqs/index.html">帮助</a></li>
            </ul>
          </div>

        </div>
      </div>
    </div>
  </div><!-- block navbar end -->
<!-- block main content -->
<div class="main-container container">
  <div class="row"><div class="col-md-2">
      <div id="sidebar" class="bs-sidenav scrollable-y-outside" role="complementary">
<!-- theme_manual: integrations -->
<!-- theme_manual_highlight: guides -->
<!-- sidebar_title_link: table-of-contents/../../guides.html -->

  <div role="note" aria-label="manuals links"><h3><a href="table-of-contents/../../guides.html">Guides</a></h3>

    <ul class="this-page-menu">
      <li class="toctree-l1"><a href="table-of-contents/../../user-guide/index.html" rel="nofollow">用户手册</a>
      </li>
      <li class="toctree-l1"><a href="table-of-contents/../../developer-manual/index.html" rel="nofollow">开发手册</a>
      </li>
      <li class="toctree-l1"><a href="table-of-contents/../../admin-manual/index.html" rel="nofollow">管理手册</a>
      </li>
      <li class="toctree-l1"><b><a href="table-of-contents/../../integrations/index.html" rel="nofollow">集成手册</a></b>
      <nav class="pagenav">
      <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="index.html"> Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="hub.html"> Hub</a></li>
<li class="toctree-l1"><a class="reference internal" href="partners/cloudera/index.html"> Cloudera</a><ul>
<li class="toctree-l2"><a class="reference internal" href="partners/cloudera/ingesting.html"> Ingestion and Exploration</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="apache-sentry.html"> Apache Sentry</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache-ranger.html"> Apache Ranger</a></li>
<li class="toctree-l1"><a class="reference internal" href="hadoop-kms.html"> Apache Hadoop KMS</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#"> CDAP JDBC Driver</a></li>
<li class="toctree-l1"><a class="reference internal" href="odbc.html"> CDAP ODBC Driver</a></li>
<li class="toctree-l1"><a class="reference internal" href="pentaho.html"> Pentaho Data Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="squirrel.html"> SquirrelSQL</a></li>
</ul>
</nav>
      </li>
      <li class="toctree-l1"><a href="table-of-contents/../../examples-manual/index.html" rel="nofollow">最佳实践</a>
      </li>
    </ul>
  </div></div>
    </div><div class="col-md-8 content" id="main-content">
    
  <div class="section" id="cdap-jdbc-driver">
<span id="cdap-jdbc"></span><h1>CDAP JDBC Driver<a class="headerlink" href="#cdap-jdbc-driver" title="Permalink to this headline">🔗</a></h1>
<div class="section" id="overview">
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">🔗</a></h2>
<p>CDAP provides a JDBC driver to make integrations with external programs and third-party BI
(business intelligence) tools easier.</p>
<p>The JDBC driver is a JAR that is bundled with the CDAP Sandbox. You can find it in the <code class="docutils literal notranslate"><span class="pre">libexec</span></code>
directory of your Sandbox installation at:</p>
<div class="highlight-java notranslate"><div class="highlight"><pre><span></span><span class="n">libexec</span><span class="o">/</span><span class="n">io</span><span class="p">.</span><span class="na">cdap</span><span class="p">.</span><span class="na">cdap</span><span class="p">.</span><span class="na">cdap</span><span class="o">-</span><span class="n">explore</span><span class="o">-</span><span class="n">jdbc</span><span class="o">-&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="p">.</span><span class="na">jar</span>
</pre></div>
</div>
<p>If you don’t have a CDAP Sandbox and only want to connect to an existing instance of CDAP,
you can download the CDAP JDBC driver from <a class="reference external" href="https://repo1.maven.org/maven2/io/cdap/cdap/cdap-explore-jdbc/">this link</a>.
Go to the directory matching the version of your running CDAP instance, and download the file
with the matching version number:</p>
<div class="highlight-java notranslate"><div class="highlight"><pre><span></span><span class="n">cdap</span><span class="o">-</span><span class="n">explore</span><span class="o">-</span><span class="n">jdbc</span><span class="o">-&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="p">.</span><span class="na">jar</span>
</pre></div>
</div>
</div>
<div class="section" id="using-the-cdap-jdbc-driver-in-your-java-code">
<h2>Using the CDAP JDBC Driver in your Java Code<a class="headerlink" href="#using-the-cdap-jdbc-driver-in-your-java-code" title="Permalink to this headline">🔗</a></h2>
<p>To use CDAP JDBC driver in your code, place <code class="docutils literal notranslate"><span class="pre">cdap-jdbc-driver.jar</span></code> in the classpath of your application.
If you are using Maven, you can simply add a dependency in your file <code class="docutils literal notranslate"><span class="pre">pom.xml</span></code>:</p>
<div class="highlight-java notranslate"><div class="highlight"><pre><span></span><span class="o">&lt;</span><span class="n">dependencies</span><span class="o">&gt;</span>
  <span class="p">...</span>
  <span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
    <span class="o">&lt;</span><span class="n">groupId</span><span class="o">&gt;</span><span class="n">io</span><span class="p">.</span><span class="na">cdap</span><span class="p">.</span><span class="na">cdap</span><span class="o">&lt;/</span><span class="n">groupId</span><span class="o">&gt;</span>
    <span class="o">&lt;</span><span class="n">artifactId</span><span class="o">&gt;</span><span class="n">cdap</span><span class="o">-</span><span class="n">explore</span><span class="o">-</span><span class="n">jdbc</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
    <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;&lt;!--</span> <span class="n">Version</span> <span class="n">of</span> <span class="n">CDAP</span> <span class="n">you</span> <span class="n">want</span> <span class="n">the</span> <span class="n">JDBC</span> <span class="n">driver</span> <span class="n">to</span> <span class="n">query</span> <span class="o">--&gt;&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
  <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
  <span class="p">...</span>
<span class="o">&lt;/</span><span class="n">dependencies</span><span class="o">&gt;</span>
</pre></div>
</div>
<p>Here is a snippet of Java code that uses the CDAP JDBC driver to connect to a running instance of CDAP,
and executes a query over a CDAP dataset <code class="docutils literal notranslate"><span class="pre">mydataset</span></code>:</p>
<div class="highlight-java notranslate"><div class="highlight"><pre><span></span><span class="c1">// First, register the driver once in your application</span>
<span class="n">Class</span><span class="p">.</span><span class="na">forName</span><span class="p">(</span><span class="s">&quot;io.cdap.cdap.explore.jdbc.ExploreDriver&quot;</span><span class="p">);</span>

<span class="c1">// If your CDAP instance requires an authentication token for connection, specify it here.</span>
<span class="c1">// Replace &lt;cdap-host&gt; and &lt;authentication_token&gt; as appropriate to your installation.</span>
<span class="n">String</span> <span class="n">connectionUrl</span> <span class="o">=</span> <span class="s">&quot;jdbc:cdap://&lt;cdap-host&gt;:11015&quot;</span> <span class="o">+</span>
  <span class="s">&quot;?auth.token=&lt;authentication_token&gt;&quot;</span><span class="p">;</span>

<span class="c1">// Connect to the CDAP instance</span>
<span class="n">Connection</span> <span class="n">connection</span> <span class="o">=</span> <span class="n">DriverManager</span><span class="p">.</span><span class="na">getConnection</span><span class="p">(</span><span class="n">connectionUrl</span><span class="p">);</span>

<span class="c1">// Execute a query over CDAP datasets and retrieve the results</span>
<span class="n">ResultSet</span> <span class="n">resultSet</span> <span class="o">=</span> <span class="n">connection</span><span class="p">.</span><span class="na">prepareStatement</span><span class="p">(</span><span class="s">&quot;select * from dataset_mydataset&quot;</span><span class="p">).</span><span class="na">executeQuery</span><span class="p">();</span>
<span class="p">...</span>
</pre></div>
</div>
<p>Here are the parameters that can be used in the connection URL:</p>
<ul class="simple">
<li><code class="docutils literal notranslate"><span class="pre">namespace</span></code>: CDAP namespace to run in</li>
<li><code class="docutils literal notranslate"><span class="pre">auth.token</span></code>: authentication token for the connection</li>
<li><code class="docutils literal notranslate"><span class="pre">ssl.enabled</span></code>: boolean; whether SSL is enabled or not</li>
<li><code class="docutils literal notranslate"><span class="pre">verify.ssl.cert</span></code>: boolean; false to suspend certificate checks and allow self-signed certificates</li>
<li><code class="docutils literal notranslate"><span class="pre">fetch.size</span></code>: int; number of rows to fetch at a time from the database cursor. Defaults to 1000. 0 means no limit.</li>
</ul>
<p>JDBC drivers are a standard in the Java ecosystem, with many <a class="reference external" href="http://docs.oracle.com/javase/tutorial/jdbc/">resources about them available</a>.</p>
</div>
</div>

</div>
    <div class="col-md-2">
      <div id="right-sidebar" class="bs-sidenav scrollable-y" role="complementary">
        <div id="localtoc-scrollspy">
        </div>
      </div>
    </div></div>
</div>
<!-- block main content end -->
<!-- block footer -->
<footer class="footer">
      <div class="container">
        <div class="row">
          <div class="col-md-2 footer-left"><a title="Apache Hadoop Key Management Server (KMS)" href="hadoop-kms.html" />Previous</a></div>
          <div class="col-md-8 footer-center"><a class="footer-tab-link" href="table-of-contents/../../reference-manual/licenses/index.html">Copyright</a> &copy; 2014-2020 Cask Data, Inc.&bull; <a class="footer-tab-link" href="//docs.cask.co/cdap/6.1.1/cdap-docs-6.1.1-web.zip" rel="nofollow">Download</a> an archive or
<a class="footer-tab-link" href="//docs.cask.co/cdap">switch the version</a> of the documentation
          </div>
          <div class="col-md-2 footer-right"><a title="CDAP ODBC Driver" href="odbc.html" />Next</a></div>
        </div>
      </div>
    </footer>
<!-- block footer end -->
<script type="text/javascript" src="_static/bootstrap-3.3.6/js/bootstrap.min.js"></script><script type="text/javascript" src="_static/js/bootstrap-sphinx.js"></script><script type="text/javascript" src="_static/js/abixTreeList-2.js"></script><script type="text/javascript" src="_static/js/cdap-dynamicscrollspy-4.js"></script><script type="text/javascript" src="_static/js/cdap-version-menu.js"></script><script type="text/javascript" src="_static/js/copy-to-clipboard.js"></script><script type="text/javascript" src="_static/js/jquery.mousewheel.min.js"></script><script type="text/javascript" src="_static/js/jquery.mCustomScrollbar.js"></script><script type="text/javascript" src="_static/js/js.cookie.js"></script><script type="text/javascript" src="_static/js/tabbed-parsed-literal-0.2.js"></script><script type="text/javascript" src="_static/js/cdap-onload-javascript.js"></script><script type="text/javascript" src="_static/js/cdap-version-menu.js"></script>
    <script src="https://cdap.gitee.io/docs/cdap/json-versions.js"/></script>
  </body>
</html>